package com.heu.blood.autologous.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * 
 * 
 * @author lyj
 * @email lyj@heu.com
 * @date 2024-11-27 17:50:46
 */
@Data
@TableName("blood_application_autologous")
public class BloodApplicationAutologousEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * 编号
	 */
	@TableId
	private Long id;
	/**
	 * 创建时间
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
	@TableField(value = "gmt_create", fill = FieldFill.INSERT) // 创建注解
	private Date gmtCreate;
	/**
	 * 修改时间
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
	@TableField(value = "gmt_modified", fill = FieldFill.INSERT_UPDATE) // 更新注解
	private Date gmtModified;
	/**
	 * 患者编号（通用病历号）
	 */
	private String patientId;
	/**
	 * 自体血输血申请单号
	 */
	private String applicationId;
	/**
	 * 病案号（保留给不同的医院用）
	 */
	private String medicalRecordNumber;
	/**
	 * 就诊号
	 */
	private String visitNumber;
	/**
	 * 姓名
	 */
	private String patientName;
	/**
	 * 身份证号
	 */
	private String idCard;
	/**
	 * 性别
	 */
	private String gender;
	/**
	 * 年龄
	 */
	private String age;
	/**
	 * 科室(字典dict_department)
	 */
	private String department;
	/**
	 * 所在病区（字典Ward）
	 */
	private String ward;
	/**
	 * 床号
	 */
	private String bedNumber;
	/**
	 * 民族(Nationality)
	 */
	private String national;
	/**
	 * 临床诊断（字典ClinicalDiagnosis）
	 */
	private String clinicalDiagnosis;
	/**
	 * 输血目的（字典TranfusionPurpose）
	 */
	private String transfusionPurpose;
	/**
	 * 继往输血史（1有/0无）
	 */
	private String transfusionHistory;
	/**
	 * 孕（次）
	 */
	private Integer pregnancy;
	/**
	 * 产（次）
	 */
	private Integer maternity;
	/**
	 * 申请类型（字典ApplicationType）
	 */
	private String applicationType;
	/**
	 * 申请日期
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
	private Date applicationTime;
	/**
	 * 样本采血时间
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
	private Date collectTimeSample;
	/**
	 * 采血时间第一次
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
	private Date collectTimeFirst;
	/**
	 * 用血日期（预定输血日期）
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
	private Date transfusionTime;
	/**
	 * 患者血液样本号
	 */
	private String bloodSampleNumber;
	/**
	 * 申请医师姓名
	 */
	private String appliedDoctorName;
	/**
	 * 申请医师工号
	 */
	private String appliedDoctorId;
	/**
	 * 是否采集血样本（1是/0否）
	 */
	private Integer isCollectBlood;
	/**
	 * 收费类别(ChargeCategory)
	 */
	private String chargeType;
	/**
	 * 医生备注
	 */
	private String note;
	/**
	 * 手术名称(OperationName)
	 */
	private String surgicalName;
	/**
	 * 病人类别(PatientType)
	 */
	private String patientType;
	/**
	 * 特殊用药史（0否1是）
	 */
	private Integer specialMedicationHistory;
	/**
	 * 药物过敏史（0否1是）
	 */
	private Integer drugAllergyHistory;
	/**
	 * 大量用血（0否1是）
	 */
	private Integer isExcessiveBlood;
	/**
	 * 自身输血（0否1是）
	 */
	private Integer isAutotransfusion;
	/**
	 * 加急（0否1是）
	 */
	private Integer isUrgent;
	/**
	 * 是否干细胞移植（0否1是）
	 */
	private Integer isStemCell;
	/**
	 * 是否备血（0否1是）
	 */
	private Integer isBloodPreparation;
	/**
	 * 是否异型输注（0否1是）
	 */
	private Integer isAllogeneicInfusion;
	/**
	 * 异型输注原因（0否1是）
	 */
	private Integer allogeneicInfusionReason;
	/**
	 * 抗体筛查（0否1是）
	 */
	private Integer antibodyScreening;
	/**
	 * 是否多次配血不合（0否1是）
	 */
	private Integer isMuchMismatches;
	/**
	 * 是否疑难血型（0否1是）
	 */
	private Integer isDifficultBlood;
	/**
	 * 是否abo亚型（0否1是）
	 */
	private Integer isSubtype;
	/**
	 * 是否特殊抗体（0否1是）
	 */
	private Integer isSpecialAntibodies;
	/**
	 * 输血同意书是否签字（0否1是）
	 */
	private Integer isAgreement;
	/**
	 * 申请状态(ApplicationStateAutologous)
	 */
	private String applicationState;
	/**
	 * 0表示不展示，1表示展示
	 */
	@TableField(value = "if_show", fill = FieldFill.INSERT) // 创建注解
	private Integer ifShow;
	/**
	 * 输血申请审核状态(ReviewStatus)
	 */
	private String transfusionStatus;
	/**
	 * 申请驳回原因
	 */
	private String applicationRejectReason;
	/**
	 * 受血者属地（本市/外埠）(Territorial)
	 */
	private String territorial;
	/**
	 * 血红蛋白(HGB)
	 */
	private String haemoglobin;
	/**
	 * HCT（红细胞压积）
	 */
	private String hct;
	/**
	 * 血小板（血小板计数）
	 */
	private String platelet;
	/**
	 * ALT（谷丙转氨酶 肝脏功能指标 ）
	 */
	private String alt;
	/**
	 * HBsAg（乙肝）
	 */
	private String hbsag;
	/**
	 * Anti-HCV（丙肝）
	 */
	private String antiHcv;
	/**
	 * Anti-HIV1/2（艾滋）
	 */
	private String antiHiv;
	/**
	 * 梅毒
	 */
	private String syphilis;
	/**
	 * 主治医师审核签字
	 */
	private String attendingSign;
	/**
	 * 特殊配血审核人
	 */
	private String specialMatchReviewer;
	/**
	 * 是否特殊配血（1代表特殊配血，0代表普通配血）
	 */
	private Integer isSpecialMatch;
	/**
	 * 1代表已删除，0代表未删除
	 */
	@TableLogic(value = "0", delval = "1")
	@TableField(value = "is_deleted", fill = FieldFill.INSERT) // 创建注解
	private Integer isDeleted;
	/**
	 * 是否单一申请（1代表单内只有一种血液，0代表有多种）
	 */
	private Integer isSingle;
	/**
	 * 审核状态（ApplicationVerifyState）
	 */
	private String verifyState;
	/**
	 * abo血型-第一个
	 */
	private String aboBloodType;
	/**
	 * rh血型-第一个
	 */
	private String rhBloodType;
	/**
	 * 血液类型-第一个
	 */
	private String bloodType;
	/**
	 * 输血申请患者血液样本id(PBS开头)
	 */
	private String bloodSampleInfoTransfusionId;
	/**
	 * 是否打印（1已经打印，0未打印）
	 */
	@TableField(value = "if_print", fill = FieldFill.INSERT) // 创建注解
	private Integer ifPrint;
	/**
	 * 患者身高
	 */
	private Double patientHeight;
	/**
	 * 患者体重
	 */
	private Double patientWeight;
	/**
	 * 红细胞
	 */
	private String rbc;
	/**
	 * 白细胞
	 */
	private String wbc;
	/**
	 * 血钙
	 */
	private String bloodCalcium;
	/**
	 * 血糖
	 */
	private String bloodSugar;
	/**
	 * 备注
	 */
	private String notes;
	/**
	 * 预计手术日期 
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
	private Date surgicalTime;
	/**
	 * 操作人/录入人
	 */
	private String operatorName;
	/**
	 * 操作人/录入人id
	 */
	private String operatorId;

}
